﻿using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics.Contracts;

namespace NColony.Syndication.Receiver.Contracts
{
    /// <summary>
    /// Contract for syndication feeds.
    /// </summary>
    [ContractClass(typeof(ISyndicationFeedContract))]
    public interface ISyndicationFeed : INotifyPropertyChanging, INotifyPropertyChanged
    {
        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>The title.</value>
        string Title { get; set; }

        /// <summary>
        /// Gets the items.
        /// </summary>
        /// <value>The items.</value>
        ObservableCollection<ISyndicationFeedItem> Items { get; }
    }
}